package com.bang.study.common;

/**
 * 响应码枚举，参考HTTP状态码的语义
 */
public enum ResultCode {
    /**
     * 成功
     */
    SUCCESS(200, "成功"),
    /**
     * 失败
     */
    FAIL_PARAM(400, "参数错误"),
    /**
     * 未认证（签名错误）
     */
    UNAUTHORIZED(401, "未认证"),
    /**
     * 禁止访问
     */
    FORBIDDEN(403, "拒绝访问"),
    /**
     * 请求资源不存在
     */
    NOT_FOUND(404, "请求资源不存在"),
    /**
     * 请求方法不支持
     */
    METHOD_NOT_SUPPORTED(405, "method 方法不支持"),
    /**
     * 请求方法不支持
     */
    MEDIATYPE_NOT_SUPPORTED(415, "不支持媒体类型"),
    /**
     * 服务异常
     */
    SERVICE_EXCEPTION(444, "远程服务异常"),
    /**
     * 服务器内部错误
     */
    INTERNAL_SERVER_ERROR(500, "服务器内部错误"),
    /**
     * 操作失败
     */
    FAIL(501, "操作失败"),
    /**
     * 未知的错误
     */
    UNKNOWN_ERROR(999, "未知错误");

    private int code;
    private String msg;

    ResultCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}
